package cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.sfexpress.sfExpressCreate;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

@Data
public class ContactInfoDTO {

    @Schema(description = "地址类型： 1，寄件方信息 2，到件方信息")
    @NotEmpty(message = "地址类型不能为空")
    private Integer contactType;

    @Schema(description = "公司名称")
    private String company;

    @Schema(description = "联系人")
    private String contact;

    @Schema(description = "联系电话（tel和mobile字段必填其中一个）")
    private String tel;

    @Schema(description = "手机（tel和mobile字段必填其中一个）")
    private String mobile;

    @Schema(description = "国家或地区代码 例如：内地件CN 香港852 参照附录《城市代码表》https://open.sf-express.com/developSupport/734349?activeIndex=571489")
    private String country;

    @Schema(description = "所在省级行政区名称，必须是标准的省级行政区名称如：北 京、广东省、广西壮族自治区等；此字段影响原寄地代码识 别，建议尽可能传该字段的值")
    private String province;

    @Schema(description = "所在地级行政区名称，必须是标准的城市称谓 如：北京市、 深圳市、大理白族自治州等； 此字段影响原寄地代码识别， 建议尽可能传该字段的值")
    private String city;

    @Schema(description = "所在县/区级行政区名称，必须 是标准的县/区称谓，如：福田区，南涧彝族自治县、准格尔旗等")
    private String county;

    @Schema(description = "详细地址，若有四级行政区划，如镇/街道等信息可拼接至此字段，格式样例：镇/街道+详细地址。若province/city 字段的值不传，此字段必须包含省市信息，避免影响原寄地代码识别，如：广东省深圳市福田区新洲十一街万基商务大厦10楼；此字段地址必须详细，否则会影响目的地中转识别；")
    private String address;

    @Schema(description = "邮编，跨境件必填（中国内地， 港澳台互寄除外）")
    private String postCode;

    @Schema(description = "邮箱地址")
    private String email;

    @Schema(description = "税号")
    private String taxNo;

    @Schema(description = "税号")
    private String contactRemark;

    @Schema(description = "证件类型(跨境件或国际件需要)，参考 《证件类型说明》")
    private String certType;

    @Schema(description = "证件号码(跨境件或国际件需要)，参考《证件类型说明》")
    private String certNo;

}
